home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 031a / owlsound.zip / OWLSOUND.CPP < prev    next >
C/C++ Source or Header  |  1992-02-06  |  11KB  |  364 lines

  1. /**********************************************************************/
  2. /*          Owlsound.cpp by Bob Bourbonnais & Forrest Foster          */
  3. /*            Released to the public domain 2\6\92                    */
  4. /**********************************************************************/
  5.  
  6. #include <owl.h>
  7. #include <dialog.h>
  8. #include "bwcc.h"
  9. #include "owlsound.h"
  10.  
  11. class TDialog2Dialog : public TDialog    // Dialog class to add
  12.   {                                      // processing for menu and
  13.   public:                                // button selections
  14.     TDialog2Dialog(LPSTR lpName)         // constructor calls
  15.       :TDialog(NULL,lpName)
  16.       {
  17.       BWCCGetVersion();
  18.       };
  19.     virtual void HandleButtonMessage(RTMessage Msg) // button handler
  20.       = [ID_FIRST + IDB_MODAL_DIALOG];   // close button handled by
  21.   };                                     // base class button handler
  22. void TDialog2Dialog:: HandleButtonMessage(RTMessage)
  23.   {
  24. #define  C1    1
  25. #define  C1s   2
  26. #define  Db1   2
  27. #define  D1    3
  28. #define  D1s   4
  29. #define  E1b   4
  30. #define  E1    5
  31. #define  F1    6
  32. #define  F1s   7
  33. #define  G1b   7
  34. #define  G1    8
  35. #define  G1s   9
  36. #define  A1b   9
  37. #define  A1   10
  38. #define  A1s  11
  39. #define  B1b  11
  40. #define  B1   12
  41.  
  42. #define  C2   13
  43. #define  C2s  14
  44. #define  D2b  14
  45. #define  D2   15
  46. #define  D2s  16
  47. #define  E2b  16
  48. #define  E2   17
  49. #define  F2   18
  50. #define  F2s  19
  51. #define  G2b  19
  52. #define  G2   20
  53. #define  G2s  21
  54. #define  A2b  21
  55. #define  A2   22
  56. #define  A2s  23
  57. #define  B2b  23
  58. #define  B2   24
  59.  
  60. #define  C3   25
  61. #define  C3s  26
  62. #define  D3b  26
  63. #define  D3   27
  64. #define  D3s  28
  65. #define  E3b  28
  66. #define  E3   29
  67. #define  F3   30
  68. #define  F3s  31
  69. #define  G3b  31
  70. #define  G3   32
  71. #define  G3s  33
  72. #define  A3b  33
  73. #define  A3   34
  74. #define  A3s  35
  75. #define  B3b  35
  76. #define  B3   36
  77.  
  78. #define  C4   37
  79. #define  C4s  38
  80. #define  D4b  38
  81. #define  D4   39
  82. #define  D4s  40
  83. #define  E4b  40
  84. #define  E4   41
  85. #define  F4   42
  86. #define  F4s  43
  87. #define  G4b  43
  88. #define  G4   44
  89. #define  G4s  45
  90. #define  A4b  45
  91. #define  A4   46
  92. #define  A4s  47
  93. #define  B4b  47
  94. #define  B4   48
  95.  
  96. #define  C5   49
  97. #define  C5s  50
  98. #define  D5b  50
  99. #define  D5   51
  100. #define  D5s  52
  101. #define  E5b  52
  102. #define  E5   53
  103. #define  F5   54
  104. #define  F5s  55
  105. #define  G5b  55
  106. #define  G5   56
  107. #define  G5s  57
  108. #define  A5b  57
  109. #define  A5   58
  110. #define  A5s  59
  111. #define  B5b  59
  112. #define  B5   60
  113.  
  114. #define  C6   61
  115. #define  C6s  62
  116. #define  D6b  62
  117. #define  D6   63
  118. #define  D6s  64
  119. #define  E6b  64
  120. #define  E6   65
  121. #define  F6   66
  122. #define  F6s  67
  123. #define  G6b  67
  124. #define  G6   68
  125. #define  G6s  69
  126. #define  A6b  69
  127. #define  A6   70
  128. #define  A6s  71
  129. #define  B6b  71
  130. #define  B6   72
  131.  
  132. #define  C7   73
  133. #define  C7s  74
  134. #define  D7b  74
  135. #define  D7   75
  136. #define  D7s  76
  137. #define  E7b  76
  138. #define  E7   77
  139. #define  F7   78
  140. #define  F7s  79
  141. #define  G7b  79
  142. #define  G7   80
  143. #define  G7s  81
  144. #define  A7b  81
  145. #define  A7   82
  146. #define  A7s  83
  147. #define  B7b  83
  148. #define  B7   84
  149.  
  150. const int nSoundQueue  = 1;    // Sound queue number
  151.  
  152. OpenSound();
  153. SetVoiceQueueSize(nSoundQueue,1024);  // Queue size - make this smaller if
  154.                       // you run out of room.
  155.  
  156.               // Note  Duration
  157.  
  158.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  159.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  160.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  161.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  162.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  163.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  164.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  165.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  166.  
  167.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  168.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  169.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  170.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  171.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  172.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  173.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  174.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  175.  
  176.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  177.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  178.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  179.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  180.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  181.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  182.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  183.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  184.  
  185.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  186.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  187.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  188.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  189.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  190.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  191.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  192.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  193.  
  194.     SetVoiceNote(nSoundQueue, A3b,16,0);
  195.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  196.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  197.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  198.  
  199.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  200.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  201.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  202.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  203.  
  204.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  205.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  206.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  207.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  208.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  209.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  210.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  211.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  212.  
  213.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  214.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  215.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  216.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  217.  
  218.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  219.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  220.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  221.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  222.  
  223.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  224.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  225.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  226.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  227.     SetVoiceNote(nSoundQueue, C4 ,16,0);
  228.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  229.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  230.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  231.  
  232.     SetVoiceNote(nSoundQueue, D4 ,16,0);
  233.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  234.     SetVoiceNote(nSoundQueue, E4 ,16,0);
  235.     SetVoiceNote(nSoundQueue, F4 ,16,0);
  236.  
  237.     SetVoiceNote(nSoundQueue, A3b,16,0);
  238.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  239.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  240.     SetVoiceNote(nSoundQueue, B3 ,16,0);
  241.  
  242.     SetVoiceNote(nSoundQueue, D3 ,16,0);
  243.     SetVoiceNote(nSoundQueue, F3 ,16,0);
  244.     SetVoiceNote(nSoundQueue, E3 ,16,0);
  245.     SetVoiceNote(nSoundQueue, F3 ,16,0);
  246.  
  247.     SetVoiceNote(nSoundQueue, A2b,16,0);
  248.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  249.     SetVoiceNote(nSoundQueue, A2 ,16,0);
  250.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  251.  
  252.     SetVoiceNote(nSoundQueue, D2 ,16,0);
  253.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  254.     SetVoiceNote(nSoundQueue, E2 ,16,0);
  255.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  256.  
  257.     SetVoiceNote(nSoundQueue, A1b,16,0);
  258.     SetVoiceNote(nSoundQueue, B1 ,16,0);
  259.     SetVoiceNote(nSoundQueue, A1 ,16,0);
  260.     SetVoiceNote(nSoundQueue, B1 ,16,0);
  261.  
  262.     SetVoiceNote(nSoundQueue, G1 ,16,0);
  263.     SetVoiceNote(nSoundQueue, B1 ,16,0);
  264.     SetVoiceNote(nSoundQueue, D2 ,16,0);
  265.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  266.  
  267.     SetVoiceNote(nSoundQueue, B2b,16,0);
  268.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  269.     SetVoiceNote(nSoundQueue, E2 ,16,0);
  270.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  271.  
  272.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  273.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  274.     SetVoiceNote(nSoundQueue, D3 ,16,0);
  275.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  276.  
  277.     SetVoiceNote(nSoundQueue, B2b,16,0);
  278.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  279.     SetVoiceNote(nSoundQueue, E2 ,16,0);
  280.     SetVoiceNote(nSoundQueue, F2 ,16,0);
  281.  
  282.     SetVoiceNote(nSoundQueue, G1 ,16,0);
  283.     SetVoiceNote(nSoundQueue, C2 ,16,0);
  284.     SetVoiceNote(nSoundQueue, E2b,16,0);
  285.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  286.  
  287.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  288.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  289.     SetVoiceNote(nSoundQueue, G2b,16,0);
  290.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  291.  
  292.     SetVoiceNote(nSoundQueue, E3b,16,0);
  293.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  294.     SetVoiceNote(nSoundQueue, G3 ,16,0);
  295.     SetVoiceNote(nSoundQueue, E3b,16,0);
  296.  
  297.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  298.     SetVoiceNote(nSoundQueue, A2b,16,0);
  299.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  300.     SetVoiceNote(nSoundQueue, A2b,16,0);
  301.  
  302.     SetVoiceNote(nSoundQueue, G1 ,16,0);
  303.     SetVoiceNote(nSoundQueue, A1 ,16,0);
  304.     SetVoiceNote(nSoundQueue, G2b,16,0);
  305.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  306.  
  307.     SetVoiceNote(nSoundQueue, E3b,16,0);
  308.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  309.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  310.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  311.  
  312.     SetVoiceNote(nSoundQueue, G3b,16,0);
  313.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  314.     SetVoiceNote(nSoundQueue, A3 ,16,0);
  315.     SetVoiceNote(nSoundQueue, G3b,16,0);
  316.  
  317.     SetVoiceNote(nSoundQueue, E3b,16,0);
  318.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  319.     SetVoiceNote(nSoundQueue, B2 ,16,0);
  320.     SetVoiceNote(nSoundQueue, C3 ,16,0);
  321.  
  322.     SetVoiceNote(nSoundQueue, G2 , 1,0);
  323.     SetVoiceNote(nSoundQueue, 0  ,16,0);  //rest
  324.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  325.     SetVoiceNote(nSoundQueue, G2 ,16,0);
  326.     SetVoiceNote(nSoundQueue, G2 , 1,0);
  327.  
  328.     StartSound();
  329.     WaitSoundState(S_QUEUEEMPTY);
  330.     StopSound();
  331.     CloseSound();
  332.   }
  333.  
  334. class TDialog2App : public TApplication  // Application Class to contain
  335.   {                                      // the application
  336.   public:
  337.     TDialog2App(LPSTR lpName, HANDLE hInstance,  // constructor calls the
  338.         HANDLE hPrevInstance,            // base class constructor
  339.         LPSTR lpCmdLine, int nCmdShow)
  340.         :TApplication(lpName, hInstance,
  341.                   hPrevInstance,
  342.                   lpCmdLine, nCmdShow) {};
  343.  
  344.     virtual void InitMainWindow(); // overrides base class InitMainWindow
  345.   };
  346.  
  347. void TDialog2App::InitMainWindow() // to initialize a dialog box
  348.   {                                // as the main window
  349.   MainWindow = new TDialog2Dialog("Main_Window_Dialog");
  350.   }                                // using message processing provided
  351.                    // by derived class
  352.  
  353. int PASCAL WinMain(HANDLE hInstance,              // main entry point from
  354.            HANDLE hPrevInstance,          // windows to this program
  355.            LPSTR lpCmdLine , int nCmdShow)
  356.   {
  357.   TDialog2App Dialog2("Dialog Tester",hInstance,  // create instance of
  358.                hPrevInstance,             // the dialog application
  359.                lpCmdLine,nCmdShow);
  360.   Dialog2.Run();                                  // run it
  361.   return (Dialog2.Status);                        // exit
  362.   }
  363. /**********************************************************************/
  364.